package day08;
/**
 * 读程序题
 *
 * @since 09:24
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class TestStaticDemo {
    public static void main(String[] args) {
        staticMethod();
    }

    /*
        类加载的步骤: 加载-->连接-->初始化
            连接: 执行静态成员变量的默认初始化
            初始化: 执行静态成员变量的显式赋值和静态代码块
            (执行的顺序是按照代码从上往下,实际上初始化的步骤会被JVM封装成一个方法"clinit",然后执行)
     */
    static TestStaticDemo ts = new TestStaticDemo();

    static {
        System.out.println("静态代码块");
    }

    {
        System.out.println("构造代码块");
    }

    public TestStaticDemo() {
        System.out.println("无参构造器");
        System.out.println("a=" + a + ",b=" + b);
    }

    public static void staticMethod() {
        System.out.println("静态成员方法");
    }

    int a = 666;
    static int b = 777;
    static TestStaticDemo ts2 = new TestStaticDemo();
}